/*****************************************************************************/
/*!	\file		ExampleTypes.h
 *	\brief		Header file for the YX-PIS Example
 *	\par		Dalian Yunxing Tech Co., Ltd.
 *
 *				Dalian, China
 *				Phone   : +86 (411) 8825 4852
 *				Email   : yx@yunxing.tech
 */
/*****************************************************************************/

#ifndef EXAMPLE_TYPES_INCLUDED
#define EXAMPLE_TYPES_INCLUDED 1

#include "sysctype.h"

enum ExampleErrorCodes {
	EXAMPLE_NO_ERROR			= 0,
	EXAMPLE_INVALID_PARAMETERS	= -1,
	EXAMPLE_INVALID_USER_INPUT	= -2,
	EXAMPLE_INDEX_OUT_OF_BOUNDS	= -2,
	EXAMPLE_CALLOC_FAILED		= -3,
};

enum UserCommands {
	COMMAND_NONE							= 0,
	COMMAND_EXIT							= 1,
	COMMAND_READ_ALL						= 2,
	COMMAND_OPERATE_CSWI					= 3,
	COMMAND_OPERATE_GGIO					= 4,
	COMMAND_UPDATE_MMXU_PHSA				= 5,
	COMMAND_UPDATE_MMXU_PHSB				= 6,
	COMMAND_UPDATE_MMXU_PHSC				= 7,
	COMMAND_UPDATE_PDIF_XVAL				= 8,
	COMMAND_UPDATE_PDIF_YVAL				= 9,
	COMMAND_MMS_GET_CONNECTED_SERVER_LIST	= 10,
	COMMAND_MMS_GET_FILE_ATTR				= 11,
	COMMAND_MMS_GET_FILE					= 12,
	COMMAND_MMS_DELETE_FILE					= 13,
	COMMAND_QUERY_LOG_BY_TIME				= 14,
	COMMAND_QUERY_LOG_AFTER					= 15,
	COMMAND_GET_LOG_STATUS_VALUES			= 16,
	COMMAND_GET_EDIT_SG_VALUE				= 17,
	COMMAND_SELECT_ACTIVE_SG				= 18,
	COMMAND_SELECT_EDIT_SG					= 19,
	COMMAND_SET_EDIT_SG_VALUE				= 20,
	COMMAND_CONFIRM_EDIT_SG_VALUES			= 21,
	COMMAND_GET_SERVER_DIRECTORY			= 22,
	COMMAND_GET_ALL_DATA_VALUES				= 25,
	COMMAND_GET_ALL_DATA_DEFINITION			= 26,
	COMMAND_GET_ALL_CB_VALUES				= 27,
	COMMAND_GET_DATA_VALUES					= 28,
	COMMAND_SET_DATA_VALUES					= 29,
	COMMAND_GET_DATA_DIRECTORY				= 30,
	COMMAND_GET_DATA_DEFINITION				= 31,
	COMMAND_GET_DATA_SET_VALUES				= 32,
	COMMAND_SET_DATASET_VALUES				= 33,
	COMMAND_CREATE_DATASET					= 34,
	COMMAND_DELETE_DATASET					= 35,
	COMMAND_GET_DATASET_DIRECTORY			= 36,
	COMMAND_UPDATE_CSWI_POS					= 37,
	COMMAND_GET_FILE_ATTR111				= 38,
	COMMAND_PRINT_REPORT_MENU				= 39,
	COMMAND_PRINT_CONTROL_MENU				= 40,
	COMMAND_PRINT_GOOSE_SV_MENU				= 41,
	COMMAND_PRINT_FILE_MENU					= 42,
	COMMAND_PRINT_SETTING_GROUP_MENU		= 43,
	COMMAND_PRINT_LOG_MENU					= 44,
	COMMAND_PRINT_DATA_ACCESS_MENU			= 45,
	COMMAND_PRINT_RPC_ACCESS_MENU			= 46,
	COMMAND_ABORT							= 47,
	COMMAND_RELEASE							= 48,
	COMMAND_UPDATE_TTNS_TNSSV1				= 51,
	COMMAND_UPDATE_TTNS_TNSSV2				= 52,
	COMMAND_UPDATE_TTNS_TNSSV3				= 53,

	// LAST CMD
	COMMAND_INNER_UNIT_TEST
};

typedef struct {
	Float32 xVal;
	Float32 yVal;
} CrvPts;

#define NUM_CRVPTS_STRUCT_ELEMENTS 2	// the member quantity of the crvPts

#endif
